namespace InseSoft.Model.Entities
{
    public class Cliente : EntidadCatalogo
    {
        #region Private Members
        private string cedula;
        private string telefono;
        private string contactonombre;
        private string contactotelefono;
        private string contactoextension;
        private string contactocorreo;
        private Empresa empresa;
        #endregion

        #region Public Properties

        public virtual string Cedula
        {
            get { return cedula; }
            set
            {
                CheckLength("Cedula", value, 25);
                isChanged |= (cedula != value); cedula = value;
            }
        }

        public virtual string Telefono
        {
            get { return telefono; }
            set
            {
                CheckLength("Telefono", value, 20);
                isChanged |= (telefono != value); telefono = value;
            }
        }

        public virtual string ContactoNombre
        {
            get { return contactonombre; }
            set
            {
                CheckLength("ContactoNombre", value, 50);
                isChanged |= (contactonombre != value); contactonombre = value;
            }
        }

        public virtual string ContactoTelefono
        {
            get { return contactotelefono; }
            set
            {   
                CheckLength("ContactoTelefono", value, 20);
                isChanged |= (contactotelefono != value); contactotelefono = value;
            }
        }

        public virtual string ContactoExtension
        {
            get { return contactoextension; }
            set
            {   
                CheckLength("ContactoExtension", value, 10);
                isChanged |= (contactoextension != value); contactoextension = value;
            }
        }

        public virtual string ContactoCorreo
        {
            get { return contactocorreo; }
            set
            {   
                CheckLength("ContactoCorreo", value, 50);
                isChanged |= (contactocorreo != value); contactocorreo = value;
            }
        }

        public virtual Empresa Empresa
        {
            get { return empresa; }
            set { isChanged |= (!Equals(empresa, value)); empresa = value; }
        }

        #endregion
    }
}
